package com.huitone.smspfm.interfacz.model;

import java.util.List;

import com.huitone.smspfm.interfacz.logger.ExtLogger;

import com.bin.common.utils.StringUtils;
import com.huitone.smspfm.redis.model.SmsEntity;

/**   
* @Title SmsEntityForRpt.java 
* @Package com.huitone.smspfm.model 
* @Description TODO(用一句话描述该文件做什么) 
* @author ybliang   
* @date 2017年6月27日 上午10:14:23 
* @version V1.0   
*/
public class SmsEntityForRpt extends SmsEntity {
	
	private static final ExtLogger logger = ExtLogger.create(SmsEntityForRpt.class);
	
	private String cacheKey;
	private long rptSerialP1;
	private long rptSerialP2;
	private long rptSerialP3;
	private int sendTimes;
	private int notifyType;

	public static SmsEntityForRpt parse(List<String> list) {
		
		SmsEntityForRpt entity = new SmsEntityForRpt();
		
		try {
			
			entity.setSrvNode(StringUtils.objToString(list.get(0)));
			entity.setServiceCode(StringUtils.objToString(list.get(1)));
			entity.setSmType(StringUtils.objToString(list.get(2)));
			entity.setUser(StringUtils.objToString(list.get(3)));
			entity.setSmcont(StringUtils.objToString(list.get(4)));
			entity.setReportflag(StringUtils.toInteger(list.get(5)));
			entity.setRecvTime(StringUtils.objToString(list.get(6)));
			entity.setRecvModuleName(StringUtils.objToString(list.get(7)));
			entity.setDealModuleName(StringUtils.objToString(list.get(8)));
			entity.setSdealTime(StringUtils.objToString(list.get(9)));
			entity.setEdealTime(StringUtils.objToString(list.get(10)));
			entity.setDealResult(StringUtils.objToString(list.get(11)));
			entity.setDealResultDesc(StringUtils.objToString(list.get(12)));
			entity.setConSm(StringUtils.objToString(list.get(13)));
			entity.setSendSeq(StringUtils.objToString(list.get(14)));
			entity.setSplitTimes(StringUtils.objToString(list.get(15)));
			entity.setSendTime(StringUtils.objToString(list.get(16)));
			entity.setSendResult(StringUtils.toString(list.get(17)));
			entity.setSendResultDesc(StringUtils.objToString(list.get(18)));
			entity.setSendModuleName(StringUtils.objToString(list.get(19)));
			entity.setNotifySendTime(StringUtils.objToString(list.get(20)));
			entity.setRecvStatus(StringUtils.toInteger(list.get(21)));
			entity.setRecvTime(StringUtils.objToString(list.get(22)));
			entity.setRecvErrorCode(StringUtils.objToString(list.get(23)));
			entity.setRecvErrorMsg(StringUtils.objToString(list.get(24)));
			entity.setReportTime(StringUtils.objToString(list.get(25)));
			entity.setReportModuleName(StringUtils.objToString(list.get(26)));
			entity.setCurDealDesc(StringUtils.objToString(list.get(27)));
			entity.setCurDealTime(StringUtils.objToString(list.get(28)));
			entity.setCurDealStatus(StringUtils.objToString(list.get(29)));
			entity.setSendport(StringUtils.objToString(list.get(30)));
			entity.setOrgSvrNode(StringUtils.objToString(list.get(31)));
			entity.setOrgSerialNo(StringUtils.objToString(list.get(32)));
			entity.setSerialSegment(StringUtils.objToString(list.get(33)));
			entity.setGateLinkId(StringUtils.toString(list.get(34)));
			entity.setCacheKey(StringUtils.toString(list.get(35)));
			entity.setRptSerialP1(StringUtils.tolong(list.get(36)));
			entity.setRptSerialP2(StringUtils.tolong(list.get(37)));
			entity.setRptSerialP3(StringUtils.tolong(list.get(38)));
			entity.setSendTimes(StringUtils.toInteger(list.get(39)));
			entity.setNotifyType(StringUtils.toInteger(list.get(40)));
			
			entity.setSequence(entity.getSerialSegment().replaceAll(",", ""));
			
		} catch (Exception e) {
			logger.error("SmsEntity短信信息读取时发生异常", e);
		}
		
		return entity;
	}

	public String getCacheKey() {
		return cacheKey;
	}

	public void setCacheKey(String cacheKey) {
		this.cacheKey = cacheKey;
	}

	public long getRptSerialP1() {
		return rptSerialP1;
	}

	public void setRptSerialP1(long rptSerialP1) {
		this.rptSerialP1 = rptSerialP1;
	}

	public long getRptSerialP2() {
		return rptSerialP2;
	}

	public void setRptSerialP2(long rptSerialP2) {
		this.rptSerialP2 = rptSerialP2;
	}

	public long getRptSerialP3() {
		return rptSerialP3;
	}

	public void setRptSerialP3(long rptSerialP3) {
		this.rptSerialP3 = rptSerialP3;
	}

	public int getSendTimes() {
		return sendTimes;
	}

	public void setSendTimes(int sendTimes) {
		this.sendTimes = sendTimes;
	}

	public int getNotifyType() {
		return notifyType;
	}

	public void setNotifyType(int notifyType) {
		this.notifyType = notifyType;
	}
	
}
